home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Celestin Apprentice 7
/
Apprentice-Release7.iso
/
Environments
/
Small Eiffel 0.4.8
/
misc
/
HISTORY
< prev
next >
Wrap
Text File
|
1997-04-13
|
8KB
|
170 lines
-- Part of SmallEiffel -- Read DISCLAIMER file -- Copyright (C)
-- Dominique COLNET and Suzanne COLLIN -- colnet@loria.fr
--
Small HISTORY of SmallEiffel
- Release - 1.00 - July 1995
* The very first bootstrap. SmallEiffel is born.
- Release - 0.99 - Saturday February 17 1996
* The first version available on the net. Before to be available,
the very first SmallEiffel has been tested by students of the
University Henri Poincare'
- Release - 0.98 - Friday March 15 1996
* Command 'pretty' added.
* Implements expanded.
- Release - 0.97 - Thursday May 2 1996
* Inside of compiler cleaned.
* Pre-Computing of some once functions.
* Added class COLLECTION, LINK_LIST and FIXED_ARRAY in lib_std.
- Release - 0.96 - Friday May 10 1996
* Internal renaming to suppress some warning messages and for a
smooth integration with C++ software.
* DOS and Macintosh better portability.
- Release - 0.95 - Thursday May 30 1996
* It is now possible to inherit ARRAY.
* It is now possible to inherit STRING.
* Flag -cc of `compile_to_c' has changed.
* The PLATFORM class is now conform to ELKS95.
* Added feature `twin' (like the one of TowerEiffel) in GENERAL.
* Added to_external/from_external in STRING.
* Fixed some bugs in once precomputed routines.
- Release - 0.94 - Friday July 5 1996
* Fixed some bugs with conformance rule VNCG.
* Static expressions are used to detect pre-computable once.
* Added to_external/from_external in ARRAY and FIXED_ARRAY.
* Fixed a bug for inheritance of ARRAY or FIXED_ARRAY.
* End of class comment checked.
* Added documentation file for external calls (see directory
SmallEiffel/man/external.hlp).
- Release - 0.93 - Thursday July 18 1996
* Fixed some more bugs with conformance rule VNCG.
* Type BIT is now implemented.
* Added ELKS 95 `STRING.left_adjust' and `STRING.right_adjust'.
- Release - 0.92 - Saturday July 20 1996
* Fixed some more bugs with conformance rule VNCG.
* Added Maths function in DOUBLE/REAL (sin, cos, tan, asin,
acos, atan, ... ANSI C names).
- Release - 0.91 - Wednesday July 24 1996
* Incremental C compiling mode implemented (see option -c_code
in man/compile.hlp).
* Added command `clean' (see man/clean.hlp).
* Added class FILE_TOOLS.
* No more empty C struct in generated C code (to avoid problems
with Microsoft Windows C compiler).
* Fixed one more bug with conformance rule VNCG.
- Release - 0.90 - Friday August 23 1996
* Added random number generator library (SmallEiffel/lib_rand).
* Added checking of assertions for external "CSE" features.
* Anchoring on expanded types are now allowed.
* Multiple level of anchoring definition allowed.
* Fixed a bug in STRING.from_external.
* Fixed a bug with mixed rename/redefine.
* Inheritance loop detection.
* Anchoring loop detection.
* Fixed a bug with renaming infix/prefix.
* Command `clean' also use the make suffix.
* Added ELKS95 `sign' in INTEGER/REAL/DOUBLE.
* Feature `make' is the default root feature name for `compile'.
* Optimized ARRAY.add_last and STRING.extend.
* Changed STRING.out (no more enclosing %" printed).
* Remove warning gcc messages for 64 bits machine (alpha/DECK).
* Added option -no_split for a better finalization (see
compile_to_c.hlp).
- Release - 0.89 - Sunday September 15 1996
* Calling Eiffel from C is now implemented (see cecil.hlp).
* Object creation uses C `calloc' instead 'malloc'+`memset'.
* Object creation is inlined.
* ARRAY/FIXED_ARRAY `put' and `item' are now inlined (-boost only).
* Added feature `capacity' and `resize' in FIXED_ARRAY.
* Added some classes in std_lib: LINK2_LIST (two way linked
list), COLLECTION2 (deferred), ARRAYED_COLLECTION (deferred),
LINKED_COLLECTION (deferred) and FIXED_ARRAY2 in std_lib.
* More user's routines are inlined (-boost only).
- Release - 0.88 - Wednesday October 30 1996
* Fixed bugs dealing with inherit/rename/select.
* Added warning for missing colon in actual arguments list.
* Warning : INSTALL procedure has changed and you have to set
manually the default loading path (see misc/INSTALL for details).
* Added some VMS customisation.
* Fixed bugs when printing run-time stack.
* Warning added for missing colon in actual parameter list.
* Added `flush' in STD_FILE_WRITE.
* No more left hand side cast in C code.
- Release - 0.87 - Tuesday January 7 1997
* Added a new flag "-trace" to ease debug (see compile_to_c.hlp).
* More inlining at Eiffel level (-boost mode only).
* Class BIT_N completely revisited. It may be as fast as C.
* Added class C_ARRAY[E] to deal directly with C arrays at Eiffel
level. Thus there are no more external "CSE" or c_inline_c in
classes STRING/ARRAY/FIXED_ARRAY (only full Eiffel).
Eiffel code is nice and STRING/ARRAY/FIXED_ARRAY may run faster.
* Fixed a bug in STD_FILE_READ.read_double.
* Ordering of C output to increase gcc inlining.
* According to compile_to_c.hlp, -debug_check now works (debug
instructions are no longuer generated in mode -all_check).
* Unused local variables removed at Eiffel level (warning added
for -debug_check mode only).
* Default class ANY now inherit PLATFORM (as in ETL).
* Fixed a bug in floating-point constants.
* Added directory `sys' to customize default C compiler, default
C linker and default loading path.
* Fixed some bugs with outside expanded types.
* Fixed a bug with rename/select.
* Redefinition of once routine is now allowed.
* Feature GENERAL.conforms_to is now implemented.
* Rule VFFD.7 is now enforced.
* Feature `force' implemented for all COLLECTION.
* Added conversions features CHARACTER.to_bit, INTEGER.to_bit,
BIT_N.to_character and BIT_N.to_integer.
- Release - 0.86 - Sunday April 13 1997
* All reported bugs at this time are fixed.
* Added flag -verbose to commands `compile', `compile_to_c' and
`clean'. When this new flag is not present, commands now works silently
unless some error (or warning) occurs.
* Features BOOLEAN.infix"or" and BOOLEAN.infix"and" are now written in
pure Eiffel. As a consequence, it is very important for the SmallEiffel
programmer to make the distinction between BOOLEAN.infix"and then" and
BOOLEAN.infix"and" (respectively for BOOLEAN.infix"or else" and
BOOLEAN.infix"or"). When LHS argument produce no side effects, the
semi-strict operator (BOOLEAN.infix"and" and BOOLEAN.infix"or") may run
faster.
* Fixed REAL.sin (was calling sqrt :-).
* Fixed a bug in INTEGER.append_in (you can now print Minimum_integer).
* Added feature COMPARABLE.in_range.
* Result type of REAL.infix "^" is now DOUBLE for ELKS compatibility.
* Feature `remove' is now implemented in all subclasses of COLLECTION
(i.e. ARRAY, FIXED_ARRAY, LINK_LIST and LINK2_LIST).
* Added feature `add' for all subclasses of COLLECTION.
* Conversion DOUBLE/STRING : ANSI C `sscanf' and `sprintf' is now used
to avoid loss of precision.
* Added some more class invariant code generation when compiling in
-invariant_check mode. Class invariant is now check before exit of a
routine.
* Added feature `file_tools' in class GENERAL to ease access to class
FILE_TOOLS.
* Changed printing format for basic *_REF classes. For example,
instruction `print(1);' now print 1.
* DOUBLE.truncated_to_integer is now ELKS compatible (added DOUBLE.rounded
to replace the old DOUBLE.truncated_to_integer). Same change in class
REAL.
--- WORK IN PROGRESS (current priority list) --- :
* Command `compile_to_jvm' to produce Java Byte Code from Eiffel.
* Command `short' to produce short and flat-short.
* Command `check_up' to check system validity rules.